﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum СостоянияРаботникаОрганизации
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"cc751da5-6997-4d11-a370-d450faea8e6a\", \"Представление\":\"Работает\"}")]
		Работает = 0,
		[EnumMember(Value = "{\"Ссылка\":\"ec67ea17-fcf7-45bc-9970-94e4cb56f0d1\", \"Представление\":\"НеРаботает\"}")]
		НеРаботает = 1,//Уволен
		[EnumMember(Value = "{\"Ссылка\":\"02e7704d-78f6-467a-80d9-9a474ae675ad\", \"Представление\":\"Заболевание\"}")]
		Заболевание = 2,//Болеет
		[EnumMember(Value = "{\"Ссылка\":\"ce7530ba-fcba-4a47-85bf-d15e3cabf098\", \"Представление\":\"Командировка\"}")]
		Командировка = 3,//В командировке
		[EnumMember(Value = "{\"Ссылка\":\"dd6906be-4618-41b8-b405-61194553c57b\", \"Представление\":\"ОтпускЕжегодный\"}")]
		ОтпускЕжегодный = 4,//В ежегодном отпуске
		[EnumMember(Value = "{\"Ссылка\":\"35b83568-89e4-4d47-997d-1700a8d647d9\", \"Представление\":\"ОтпускУчебный\"}")]
		ОтпускУчебный = 5,//В учебном оплачиваемом отпуске
		[EnumMember(Value = "{\"Ссылка\":\"7f09ec30-012d-418b-aff6-39a961bd2861\", \"Представление\":\"ОтпускУчебныйНеоплачиваемый\"}")]
		ОтпускУчебныйНеоплачиваемый = 6,//В учебном неоплачиваемом отпуске
		[EnumMember(Value = "{\"Ссылка\":\"f259601c-3fc2-450e-81e6-7e738199bdb1\", \"Представление\":\"ОтпускБезСохраненияЗарплаты\"}")]
		ОтпускБезСохраненияЗарплаты = 7,//В отпуске без сохранения зарплаты
		[EnumMember(Value = "{\"Ссылка\":\"67e551f9-f859-4f85-8641-1d3e1ffb17e0\", \"Представление\":\"ОтпускПоБеременностиИРодам\"}")]
		ОтпускПоБеременностиИРодам = 8,//В отпуске по беременности и родам
		[EnumMember(Value = "{\"Ссылка\":\"722e9cb0-e8fe-48bd-89e3-23d50947c4a9\", \"Представление\":\"ОтпускПоУходуЗаРебенком\"}")]
		ОтпускПоУходуЗаРебенком = 9,//В отпуске по уходу за ребенком
		[EnumMember(Value = "{\"Ссылка\":\"787c5718-c114-431d-9ce2-d44c78de44c4\", \"Представление\":\"ОтсутствуетПоНевыясненнойПричине\"}")]
		ОтсутствуетПоНевыясненнойПричине = 10,//Отсутствует по невыясненной причине
		[EnumMember(Value = "{\"Ссылка\":\"19a64f4d-17b1-4d79-ac1b-402bc6a0372d\", \"Представление\":\"ВынужденныйПрогул\"}")]
		ВынужденныйПрогул = 11,//Время вынужденного прогула
		[EnumMember(Value = "{\"Ссылка\":\"073e984f-9385-47a2-bb33-75073eb1f2c4\", \"Представление\":\"ГосударственныеОбязанности\"}")]
		ГосударственныеОбязанности = 12,//Время исполнения государственных или общественных обязанностей
		[EnumMember(Value = "{\"Ссылка\":\"c6165c67-e663-4f83-9ae5-dacad6364d9a\", \"Представление\":\"Прогулы\"}")]
		Прогулы = 13,
		[EnumMember(Value = "{\"Ссылка\":\"febd74bf-363c-4f29-9c05-c8ce655d6258\", \"Представление\":\"ДополнительныеВыходныеДниОплачиваемые\"}")]
		ДополнительныеВыходныеДниОплачиваемые = 14,//Дополнительные выходные дни (оплачиваемые)
		[EnumMember(Value = "{\"Ссылка\":\"c6b6a800-64da-4726-a8e5-d51ddc983539\", \"Представление\":\"Простой\"}")]
		Простой = 15,//Простаивает
		[EnumMember(Value = "{\"Ссылка\":\"de159ca1-3b0e-46a0-aa6e-0e439f2858e5\", \"Представление\":\"ТравмаНаПроизводстве\"}")]
		ТравмаНаПроизводстве = 16,//Болеет из-за травмы на производстве
		[EnumMember(Value = "{\"Ссылка\":\"256f91b9-b2b3-46f3-bdb2-288f8ff28079\", \"Представление\":\"ПоУходуЗаРебенком\"}")]
		ПоУходуЗаРебенком = 17,//Уход за больным ребенком
		[EnumMember(Value = "{\"Ссылка\":\"577a2d24-9b5d-44f9-8303-ab7b74617a82\", \"Представление\":\"ПоУходуЗаВзрослым\"}")]
		ПоУходуЗаВзрослым = 18,//Уход за больным взрослым членом семьи
		[EnumMember(Value = "{\"Ссылка\":\"9e1d9f07-8da5-4e8e-87a6-7a5a9ea2796b\", \"Представление\":\"Карантин\"}")]
		Карантин = 19,//Находится в карантине
		[EnumMember(Value = "{\"Ссылка\":\"a45ab75e-ae9f-4884-83f2-6bdff66b3de2\", \"Представление\":\"Протезирование\"}")]
		Протезирование = 20,//Находится на протезировании в стационаре
		[EnumMember(Value = "{\"Ссылка\":\"8225660e-d6c3-445b-90f8-e7c99fa4f359\", \"Представление\":\"ПособиеПриДолечивании\"}")]
		ПособиеПриДолечивании = 21,//Находится на долечивании в санатории
	}
	public static partial class СостоянияРаботникаОрганизации_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Работает = new Guid("50d470a3-eafa-6a8e-4d11-6997cc751da5");
		public static readonly Guid НеРаботает = new Guid("e4947099-56cb-d1f0-45bc-fcf7ec67ea17");//Уволен
		public static readonly Guid Заболевание = new Guid("479ad980-e64a-ad75-467a-78f602e7704d");//Болеет
		public static readonly Guid Командировка = new Guid("5ed1bf85-ab3c-98f0-4a47-fcbace7530ba");//В командировке
		public static readonly Guid ОтпускЕжегодный = new Guid("196105b4-5345-7bc5-41b8-4618dd6906be");//В ежегодном отпуске
		public static readonly Guid ОтпускУчебный = new Guid("00177d99-d6a8-d947-4d47-89e435b83568");//В учебном оплачиваемом отпуске
		public static readonly Guid ОтпускУчебныйНеоплачиваемый = new Guid("a939f6af-bd61-6128-418b-012d7f09ec30");//В учебном неоплачиваемом отпуске
		public static readonly Guid ОтпускБезСохраненияЗарплаты = new Guid("737ee681-9981-b1bd-450e-3fc2f259601c");//В отпуске без сохранения зарплаты
		public static readonly Guid ОтпускПоБеременностиИРодам = new Guid("3e1d4186-fb1f-e017-4f85-f85967e551f9");//В отпуске по беременности и родам
		public static readonly Guid ОтпускПоУходуЗаРебенком = new Guid("d523e389-4709-a9c4-48bd-e8fe722e9cb0");//В отпуске по уходу за ребенком
		public static readonly Guid ОтсутствуетПоНевыясненнойПричине = new Guid("4cd4e29c-de78-c444-431d-c114787c5718");//Отсутствует по невыясненной причине
		public static readonly Guid ВынужденныйПрогул = new Guid("2b401bac-a0c6-2d37-4d79-17b119a64f4d");//Время вынужденного прогула
		public static readonly Guid ГосударственныеОбязанности = new Guid("077533bb-b13e-c4f2-47a2-9385073e984f");//Время исполнения государственных или общественных обязанностей
		public static readonly Guid Прогулы = new Guid("cadae59a-36d6-9a4d-4f83-e663c6165c67");
		public static readonly Guid ДополнительныеВыходныеДниОплачиваемые = new Guid("cec8059c-5d65-5862-4f29-363cfebd74bf");//Дополнительные выходные дни (оплачиваемые)
		public static readonly Guid Простой = new Guid("1dd5e5a8-98dc-3935-4726-64dac6b6a800");//Простаивает
		public static readonly Guid ТравмаНаПроизводстве = new Guid("430e6eaa-289f-e558-46a0-3b0ede159ca1");//Болеет из-за травмы на производстве
		public static readonly Guid ПоУходуЗаРебенком = new Guid("8f28b2bd-f28f-7980-46f3-b2b3256f91b9");//Уход за больным ребенком
		public static readonly Guid ПоУходуЗаВзрослым = new Guid("7bab0383-6174-827a-44f9-9b5d577a2d24");//Уход за больным взрослым членом семьи
		public static readonly Guid Карантин = new Guid("5a7aa687-a29e-6b79-4e8e-8da59e1d9f07");//Находится в карантине
		public static readonly Guid Протезирование = new Guid("df6bf283-6bf6-e23d-4884-ae9fa45ab75e");//Находится на протезировании в стационаре
		public static readonly Guid ПособиеПриДолечивании = new Guid("c9e7f890-a49f-59f3-445b-d6c38225660e");//Находится на долечивании в санатории
		public static СостоянияРаботникаОрганизации Получить(this СостоянияРаботникаОрганизации Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СостоянияРаботникаОрганизации Получить(this СостоянияРаботникаОрганизации Значение, Guid Ссылка)
		{
			if(Ссылка == Работает)
			{
				return СостоянияРаботникаОрганизации.Работает;
			}
			else if(Ссылка == НеРаботает)
			{
				return СостоянияРаботникаОрганизации.НеРаботает;
			}
			else if(Ссылка == Заболевание)
			{
				return СостоянияРаботникаОрганизации.Заболевание;
			}
			else if(Ссылка == Командировка)
			{
				return СостоянияРаботникаОрганизации.Командировка;
			}
			else if(Ссылка == ОтпускЕжегодный)
			{
				return СостоянияРаботникаОрганизации.ОтпускЕжегодный;
			}
			else if(Ссылка == ОтпускУчебный)
			{
				return СостоянияРаботникаОрганизации.ОтпускУчебный;
			}
			else if(Ссылка == ОтпускУчебныйНеоплачиваемый)
			{
				return СостоянияРаботникаОрганизации.ОтпускУчебныйНеоплачиваемый;
			}
			else if(Ссылка == ОтпускБезСохраненияЗарплаты)
			{
				return СостоянияРаботникаОрганизации.ОтпускБезСохраненияЗарплаты;
			}
			else if(Ссылка == ОтпускПоБеременностиИРодам)
			{
				return СостоянияРаботникаОрганизации.ОтпускПоБеременностиИРодам;
			}
			else if(Ссылка == ОтпускПоУходуЗаРебенком)
			{
				return СостоянияРаботникаОрганизации.ОтпускПоУходуЗаРебенком;
			}
			else if(Ссылка == ОтсутствуетПоНевыясненнойПричине)
			{
				return СостоянияРаботникаОрганизации.ОтсутствуетПоНевыясненнойПричине;
			}
			else if(Ссылка == ВынужденныйПрогул)
			{
				return СостоянияРаботникаОрганизации.ВынужденныйПрогул;
			}
			else if(Ссылка == ГосударственныеОбязанности)
			{
				return СостоянияРаботникаОрганизации.ГосударственныеОбязанности;
			}
			else if(Ссылка == Прогулы)
			{
				return СостоянияРаботникаОрганизации.Прогулы;
			}
			else if(Ссылка == ДополнительныеВыходныеДниОплачиваемые)
			{
				return СостоянияРаботникаОрганизации.ДополнительныеВыходныеДниОплачиваемые;
			}
			else if(Ссылка == Простой)
			{
				return СостоянияРаботникаОрганизации.Простой;
			}
			else if(Ссылка == ТравмаНаПроизводстве)
			{
				return СостоянияРаботникаОрганизации.ТравмаНаПроизводстве;
			}
			else if(Ссылка == ПоУходуЗаРебенком)
			{
				return СостоянияРаботникаОрганизации.ПоУходуЗаРебенком;
			}
			else if(Ссылка == ПоУходуЗаВзрослым)
			{
				return СостоянияРаботникаОрганизации.ПоУходуЗаВзрослым;
			}
			else if(Ссылка == Карантин)
			{
				return СостоянияРаботникаОрганизации.Карантин;
			}
			else if(Ссылка == Протезирование)
			{
				return СостоянияРаботникаОрганизации.Протезирование;
			}
			else if(Ссылка == ПособиеПриДолечивании)
			{
				return СостоянияРаботникаОрганизации.ПособиеПриДолечивании;
			}
			return СостоянияРаботникаОрганизации.ПустаяСсылка;
		}
		public static byte[] Ключ(this СостоянияРаботникаОрганизации Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СостоянияРаботникаОрганизации Значение)
		{
			switch (Значение)
			{
				case СостоянияРаботникаОрганизации.Работает: return Работает;
				case СостоянияРаботникаОрганизации.НеРаботает: return НеРаботает;
				case СостоянияРаботникаОрганизации.Заболевание: return Заболевание;
				case СостоянияРаботникаОрганизации.Командировка: return Командировка;
				case СостоянияРаботникаОрганизации.ОтпускЕжегодный: return ОтпускЕжегодный;
				case СостоянияРаботникаОрганизации.ОтпускУчебный: return ОтпускУчебный;
				case СостоянияРаботникаОрганизации.ОтпускУчебныйНеоплачиваемый: return ОтпускУчебныйНеоплачиваемый;
				case СостоянияРаботникаОрганизации.ОтпускБезСохраненияЗарплаты: return ОтпускБезСохраненияЗарплаты;
				case СостоянияРаботникаОрганизации.ОтпускПоБеременностиИРодам: return ОтпускПоБеременностиИРодам;
				case СостоянияРаботникаОрганизации.ОтпускПоУходуЗаРебенком: return ОтпускПоУходуЗаРебенком;
				case СостоянияРаботникаОрганизации.ОтсутствуетПоНевыясненнойПричине: return ОтсутствуетПоНевыясненнойПричине;
				case СостоянияРаботникаОрганизации.ВынужденныйПрогул: return ВынужденныйПрогул;
				case СостоянияРаботникаОрганизации.ГосударственныеОбязанности: return ГосударственныеОбязанности;
				case СостоянияРаботникаОрганизации.Прогулы: return Прогулы;
				case СостоянияРаботникаОрганизации.ДополнительныеВыходныеДниОплачиваемые: return ДополнительныеВыходныеДниОплачиваемые;
				case СостоянияРаботникаОрганизации.Простой: return Простой;
				case СостоянияРаботникаОрганизации.ТравмаНаПроизводстве: return ТравмаНаПроизводстве;
				case СостоянияРаботникаОрганизации.ПоУходуЗаРебенком: return ПоУходуЗаРебенком;
				case СостоянияРаботникаОрганизации.ПоУходуЗаВзрослым: return ПоУходуЗаВзрослым;
				case СостоянияРаботникаОрганизации.Карантин: return Карантин;
				case СостоянияРаботникаОрганизации.Протезирование: return Протезирование;
				case СостоянияРаботникаОрганизации.ПособиеПриДолечивании: return ПособиеПриДолечивании;
			}
			return Guid.Empty;
		}
	}
}